package me.dengfengdecao.demo.dao;

import me.dengfengdecao.demo.domain.Person;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

import java.util.List;

/**
 * 这个库允许你运行一系列调用Person对象的操作。<br/>
 * Spring Data REST会在运行时自动创建这个接口的实现。然后通过@RepositoryRestResource注解,
 * 让Spring MVC创建RESTful端点 /people.
 * <br/>
 * 传入page=1&size=3&sort=name,asc即表示列表以name升序排列，每页显示3条，查询第2页的内容.<br/>
 * Spring Data REST默认会根据Respositories使用的Entity类名来生成api的path名。如果想更改默认行为，
 * 需要使用@RepositoryRestResource注解，并指定path属性.
 * <br/>
 * Created by dengfengdecao on 16/9/29.
 */
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends JpaRepository<Person, Long> {

    // 映射到 ==》 http://localhost:8084/people/search/findByLastName?name=陈
    List<Person> findByLastName(@Param("name") String name);
}
